package utils

import (
	. "arc_srv4/logutils"
	"fmt"
	"go.uber.org/zap"
	"os"
)

func PathIsExist(path string) (bool, error) {
	_, err := os.Stat(path)
	if err != nil {
		if os.IsExist(err) {
			return true, nil
		}
		if os.IsNotExist(err) {
			return false, nil
		}
		Logger.Info("file isExist error", zap.String("error", err.Error()))
		return false, err
	}
	Logger.Info("file isExist success", zap.String("path", path))
	return true, nil
}

func CreatePath(path string) bool {
	ib, err := PathIsExist(path)
	if err != nil {
		Logger.Error(fmt.Sprintf("get dir error.[%v]\n", err), zap.String("err", err.Error()))
		return false
	}
	if ib {
		return true
	} else {
		err := os.MkdirAll(path, os.ModePerm)
		if err != nil {
			Logger.Error(fmt.Sprintf("file create error.[%v]\n", err), zap.String("err", err.Error()))
			return false
		} else {
			Logger.Info("mkdir success success.", zap.String("path", path))
			return true
		}
	}
}
